package com.zr.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionSupport;
import com.zr.service.ShowAllUsersService;

import net.sf.json.JSONObject;

@Controller
@Scope(value="prototype")
public class ShowAllUsersAction extends ActionSupport implements ServletResponseAware,SessionAware,ServletRequestAware{
	
	 private HttpServletResponse resp;
	 private  Map<String,Object> session; 
	 private HttpServletRequest req;	

	@Override
	public void setSession(Map<String, Object> session) {
		this.session = session;
	}

	@Override
	public void setServletResponse(HttpServletResponse response) {
		this.resp = response;
	}
	
	@Override
	public void setServletRequest(HttpServletRequest request) {
		this.req = request;
	}
	
	@Resource
	private  ShowAllUsersService  showAllUsersService;
	
	public void showAllUsers(){
	     resp.setCharacterEncoding("utf8");
	     int page = Integer.parseInt(req.getParameter("page"));
	     int rows = Integer.parseInt(req.getParameter("rows"));
	     JSONObject us = new JSONObject();
	     us = showAllUsersService.findAllUsers(page, rows);
	     try {
			PrintWriter pw = resp.getWriter();
			pw.write(us.toString());
			pw.flush();
			pw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	     
	     
	}

	
	

}
